1. Field of the Invention
The present invention relates to a printer capable of effecting so-called collation printing, as well as to a collation printing method.
The present application is based on Japanese Patent Application No. Hei. 10-254365, which is incorporated herein by reference.
2. Description of the Related Art
A conventional printer; for example, a page printer, interprets print data entered from a host computer and produces image data for printing purpose on a page-by-page basis. The printer then inputs a per-page print request to an engine control section. In response to the thus-input print request, the engine control section activates a print engine to thereby perform a printing operation.
More specifically, the print requests are stored in a print queue in the sequence of issuance, and the print requests are transferred to the engine control section in the sequence of storage. After completion of printing of one page, the engine control section issues a print completion report. In response to the print completion report issued by the engine control section, the print request for which printing has been performed is deleted from the print queue, thereby freeing a memory block. A print request relating to a subsequent page or a print request relating to another print job is stored in the thus-released memory block.
The above printer according to the conventional art issues print requests to thereby perform printing operations in the sequence in which the print requests are received from the host computer. The print requests for which printing has been performed are immediately discarded, thereby releasing memory blocks one after another. Even a print job involving a large quantity of data can be subjected to printing through use of a comparatively small amount of memory. Such a printer reserves available memory by immediately discarding the print requests for which printing has been performed and hence enables so-called copy printing (or stack printing) but is incapable of performing so-called collation printing. Therefore, the printer is poor in terms of ease of use.
Reference is now made to an example in which a print job consisting of a total of three pages; i.e., pg. 1, pg. 2, and pg. 3. In copy printing, each of the pages is continuously printed in only the number corresponding to the number of copies; for example, pg. 1 is printed in the number corresponding to the number of copies, then pg. 2 is printed in the number corresponding to the number of copies, and then pg. 3 is printed in the number corresponding to the number of copies. In contrast, in collation printing, a set of pages arranged in accordance with page numbers, such as a set comprising pg. 1, pg. 2, and pg. 3, is produced in only the number corresponding to the number of copies. In the case of copy printing, immediately after printing of a certain page in the number corresponding to the number of copies, the print request relating to the page becomes unnecessary. The print request relating to the page that has been printed is immediately discarded, thus freeing the memory block. However, in the case of collation printing, print requests relating to all the pages must be retained until completion of printing a set of pages in the number corresponding to the number of copies.
As mentioned previously, collation printing involves an increase in the amount of memory used and hence is little affected by the conventional printer. Further, collation printing requires efforts, such as re-arrangement of sheets that have been printed or repetitions of entry of a print job into the printer in the number corresponding to the number of copies, thus resulting in poor ease-of-use. When pseudo-collation printing is performed; i.e., where a print job is repeatedly transmitted in the number corresponding to the number of copies in such a way as to be invisible to the user. Although the amount of memory required is small, much time is required for transmitting print data. In addition, the print requests relating to all the pages must be repeatedly generated in only the number corresponding to the required number of pages, thus significantly increasing the print time.
It is also conceivable that the amount of memory provided for the printer is increased and that collation printing is performed by reserving a memory block of a predetermined size in advance for collation printing purposes. In this case, however, the printer must determine whether or not a print request corresponds to collation printing. If the print request corresponds to collation printing, there must be performed special processing such as reservation of a memory block of a predetermined size, with the result that memory control becomes complicated and manufacturing costs are increased.
In general, the printer cannot perceive beforehand the amount of memory required for effecting collation printing, and hence the memory block reserved for collation printing may become insufficient or may be greatly in excess of that which is required. Even if the printer is informed in advance of the total number of pages relating to the print job, the amount of memory required by print requests relating to individual pages differs according to print requirements such as print resolution, gradation, and contents (e.g., the amount of graphic data). Accordingly, the printer cannot perceive the amount of memory required for effecting collation printing until print requests relating to all the pages are actually prepared. If the memory block, which has been reserved beforehand, is insufficient, collation printing results in failure, thus subjecting the user to inconvenience. In contrast, if the memory block is of greater size than is necessary, the amount of unused memory increases, thereby diminishing an opportunity to receive another print job. Particularly, in the case of a network printer shared among a plurality of users, if a certain user reserves a memory block greater than that is required in order to perform collation printing, the memory location for storing a print job issued by another user becomes insufficient, thereby resulting in the probability of a drop in overall printing efficiency of the network print system.
It is also conceivable that in order to improve the efficiency of use of memory, the host computer notifies the printer in advance of information about the total number of pages and the resolution and gradation of individual pages so that the printer can perform special processing, such as making a forecast about the amount of memory required by the printer to perform collation printing. Addition of special processing such as that mentioned previously results in complication of a control mechanism, as well as in an increase in manufacturing costs. Since the printer actually prepares print requests, reserving an appropriate amount of memory required for effecting collation printing on the basis of only the information stored in the host computer is difficult. Hence, a sufficient margin of memory block must be ensured.
Some copiers may effect collation printing. Both a copier and a printer process image data and have a commonality in terms of subjecting a recording medium to printing. However, the copier first reads image data regarding all the pages to be subjected to collation printing and commences collation printing. Unless failures, such as paper jams, otherwise arise, collation printing, once started, will not end in failure for reasons of insufficient memory during the course of printing. In the case of a copier, the amount of image data regarding all the pages to be subjected to collation printing is determined at the time of collation printing.
In contrast, the printer does not perform collation printing by generation of print requests relating to all the pages to be subjected to collation printing but is required to start subjecting print data to collation printing in the sequence of receipt. More specifically, the printer is required to receive print data from the host computer as well as to produce print requests by interpretation of the print data. If the printer awaits generation of print requests relating to all the pages, a print wait time is significantly increased. Further, depending on the amount of memory provided for the printer, memory becomes insufficient during the course of storage of print requests relating to individual pages. Collation printing may end in failure before being started even after the user has waited for a long period of time. As mentioned previously, in contrast with a copier, the printer cannot perceive the amount of memory required for performing collation printing in advance, optimum memory control is difficult even when the printer is equipped with a large amount of memory.
In a printer equipped with a plurality of paper delivery bins, print data are printed in the sequence of page numbers, and printed sheets are delivered to respective paper delivery bins in sequence, thereby effecting pseudo-collation printing. For example, in the case of a printer equipped with three paper delivery bins, a number of copies are duplicated on a per-page basis such as pg. 1-pg. 1-pg. 1; pg. 2-pg. 2-pg. 2; and pg. 3-pg. 3-pg. 3, and the duplicates are delivered to the respective bins while the bins are selected in the sequence of paper delivery bin 1, paper delivery bin 2, and paper delivery bin 3. As a result, a collated set of finished copies can be delivered to each of the paper delivery bins. However, if the number of copies exceeds the number of paper delivery bins, duplicates cannot be collated through delivery to the respective bins.
The present invention has been conceived to solve the foregoing problems, and the object of the present invention is to provide a printer and a printing method, both of which effect high-speed collation printing by commencing the collation printing before print requests relating to all the pages are generated. Another object of the present invention is to provide a printer and a printing method, both of which effect collation printing through use of a comparatively simple control system even when a small memory block is available. Still another object of the present invention is to readily effect collation printing without use of additional memory or an auxiliary storage device.
In order to solve the previously-described problems, in a printer and under a printing method according to the present invention, when collation printing is specified, print requests to be subjected to collation printing are retained and repeatedly used until printing of a designated number of copies is completed.
According to a first aspect of the present invention, there is provided a printer for effecting predetermined printing by activation of printing means on the basis of input print data, comprising:
receiving means for receiving print data;
interpretation means which interprets the received print data and issues print requests including intermediate code data; and
print request manager means which temporarily stores the print requests issued by the interpretation means, prints the thus-stored print requests by entering the print requests into the printing means, and reports to the interpretation means completion of printing of the print requests, on the basis of a report about completion of printing issued by the printing means, wherein
in a case where collation printing is specified for the print requests, the print request manager means repeatedly inputs each of the print requests to be subjected to collation printing to the printing means until printing of the designated number of copies is completed.
Here, the expression xe2x80x9ccollation printingsxe2x80x9d signifies a mode in which a set of data is printed in a collated manner in a number corresponding to the number of copies. The expression xe2x80x9cprint requestxe2x80x9d signifies the information which makes a request for the printing means to effect printing, and can also be called a print request mechanism. More specifically, a print request is prepared for each page to be printed and comprises information required for printing the page, such as paper size, the number of copies in which the page is to be printed, designation of single-sided/double-sided printing, and print data regarding the page. The print data included in the print request may be produced in the form of an intermediate code for directing a memory block where are stored the data required for expanding an image from the print data received from the host computer. Alternatively, the print data may also be produced in the form of bit image data. xe2x80x9cTemporal storage of a print requestxe2x80x9d signifies storage of a print request for a required period of time. Specifically, in the case of ordinary printing, the print request is reserved until a print completion report is issued by the printing means and printing has been performed for the print request. In the case of collation printing, a print request is reserved for a time period during which printing of the designated number of copies is completed or during which printing of the final copy of the designated number of copies is commenced. xe2x80x9cPrint completion reportxe2x80x9d sent to the interpretation means signifies reporting to the interpretation, means completion of printing of a certain page. Completion of printing of a certain page is determined by means of the print completion report, thereby freeing a memory block.
The operation of the printer during ordinary printing will be described first. From the print data received by the receiving means, the interpretation means produces image data for printing purpose and issues a print request. The print request is entered into the printing means by way of print request manager means. According to the thus-entered input request, the printing means performs printing and upon completion of the printing operation reports completion of printing to the print request manager means. Upon receipt of the print completion report from the printing means, the print request manager means reports completion of printing of the print request to the interpretation means, thereby deleting the print request, which has been stored and for which printing has been performed, and freeing the memory block. A print request relating to a subsequent page or a print request relating to another print job is stored in the thus-released memory block.
Next, the operation of the printer during collation printing will be described. When the interpretation means issues a print request to be subjected to collation printing, the printing means receives the print request by way of the print request manager means. Next, the printing means issues a print completion report, but the print request manager means does not send any print completion report to the interpretation means but stores the print request in preparation for printing of the second copy of the print request. Until printing of the specified number of copies is completed, the print request manager means repeatedly inputs to the printing means the print request to be subjected to collation printing. Since the already-existing print request is re-used, there is no necessity for generating the print request again. A print time required for printing the second or subsequent copies becomes shorter than that required for printing the first copy. After completion of collation printing, the print request manager means reports completion of printing to the interpretation means every time collation printing of the print request is completed, thus freeing the memory block. The timing at which the print completion report is issued may be defined in a preferred manner, as will be described later.
As mentioned above, the present invention can embody collation printing without reservation of a special memory block for collation printing purpose. Accordingly, memory resources can be efficiently utilized, and collation printing can be effected through use of a simple configuration without complicating memory control or like control.
Preferably, the print request manager means does not send the print completion report to the interpretation means and retains the print request until printing of the final copy of the print request to be subjected to collation printing is commenced. When printing of the final copy is commenced, the print request manager means can also send the print completion report to the interpretation means, on the basis of the print completion report issued by the printing means.
All the print requests can also be reserved without deletion until printing of the final page of the final copy for which collation printing is specified. However, the respective print requests to be subjected to collation printing are used until printing of the final, copy and are not used for printing of another print job. Specifically, the print requests are required to be reserved only for the period between the instant when printing of the first copy is commenced and the instant when printing of the final copy is commenced. Accordingly, the print requests are reserved only for the period until printing of the final copy is commenced. When printing of the final copy is commenced, the print request manager means sends a print completion report to the interpretation means according to the print completion report received from the printing means, thereby deleting the print requests for which printing has been performed and releasing the memory block. Thus, the final copy is printed while the print requests for which printing has been performed are deleted. As a result, collation printing can be completed while the amount of available memory is increased, thereby increasing opportunities to receive another print job at an early time.
Preferably, the print request manager means comprises
a first queue for processing the print requests stored therein in a predetermined sequence; and
a second queue for transferring the print requests for which printing has been performed from the first queue and storing the thus-transferred print queues therein when the print completion report is issued by the printing means with regard to the print requests stored-in the first queue. When collation printing of one copy is completed, the print request stored in the second queue is transferred to the first queue, whereby the print requests to be subjected to collation printing can be repeatedly input to the printing means-until printing of the designated number of copies is completed.
The print requests stored in the first queue are input to and printed by the printing means in a predetermined sequence. The expression xe2x80x9cpredetermined sequencexe2x80x9d typically signifies processing of the print requests one by one from the first-arrived print request. Depending on a print mode, the print requests may be processed in a sequence differing from the sequence of storage. For example, when double-side printing is effected at high speed, sheets are continuously subjected to reverse-side printing in only a predetermined number. When the sheets for which reverse-side printing has been performed return to the entry of a printing section by way of a re-feeding path, there may be alternatingly performed front-side printing of the sheet for which reverse-side printing has been performed and reverse-side printing of a new sheet. Finally, only a predetermined number of the sheets for which reverse-side printing has been performed are subjected to front-side printing. In this case, the print requests are not processed in sequence from the head end of the first queue, but the print requests may be processed in sequence suitable for high-speed double-side printing.
When the printing means sends the print completion report to the print request manager means during collation printing, the print requests for which printing has been performed are transferred from the first queue to the second queue and reserved therein. Accordingly, each of the print requests stored in the first queue and to be subjected to collation printing is transferred to the second queue every time printing for the print request is completed. At a point in time when printing of one copy is completed, the first queue becomes empty, and all the print requests to be subjected to collation printing are stored in the second queue. The print requests to be subjected to collation printing can be input again to the printing means by transferring the print requests reserved in the second queue again to the first queue every time one copy of the print job is completed. Thus, employment of two queues enables collation printing through use of a simple configuration. The queue used for printing can be switched between the first queue and the second queue at a point in time when printing of one copy is completed. Switching the queue used for printing through re-definition also falls within the scope of the present invention.
Preferably, until commencement of printing of the final copy relating to the print request to be subjected to collation printing, the print request manager means does not send any print completion report to the interpretation means but transfers the print request between the first queue and the second queue. When printing of the final copy is commenced, the print request manger means sends the print completion report to the interpretation means with regard to the print requests for which printing has been performed, and the print requests for which printing has been performed are not transferred to the second queue but can be deleted from the first queue.
As a result, the final copy can be printed while the print requests for which printing has been performed are deleted to thereby free the memory block.
Preferably, the printer further comprises a pointer for specifying a header address of a next print request to be printed, and a next address designation section which is provided in each of the print requests and is used for designating the header address of the next print request. Further, the print request manager means can transfer the print requests between the first queue and the second queue by re-writing the data stored in the pointer and the address designation sections.
The next print request to be printed can be read according to the address specified by the pointer. Further, each of the print requests is provided with the next address designation section for designating the header address of the next print request. The respective print requests are linked together in sequence. Accordingly, the print requests can be transferred between the first queue and the second queue by re-writing only the data stored in the pointer and the next address designation sections without involvement of changing a destination to which the print requests are stored.
Preferably, the print request manger means monitors whether or not the memory block for storing the print requests becomes insufficient. In the event of occurrence of memory shortage, the directed number of copies can be reset to xe2x80x9c1.xe2x80x9d
According to the present invention, collation printing is effected without reservation of a special memory block for collation printing purpose or without checking the amount of memory required for effecting collation printing beforehand. Therefore, depending on the total number of pages of the print. job, the specified resolution, and the specified gradation, the available storage capacity of the printer may become insufficient. To prevent such memory shortage, the print request manager means monitors whether or not the memory block becomes insufficient. If the memory block is insufficient, the directed number of copies is forcefully reset to xe2x80x9c1.xe2x80x9d As a result, in the event of so-called memory shortage the collation print mode is switched to an ordinary print mode, thereby enabling printing of only one copy of the print job.
Preferably, if memory shortage occurs during the course of storage of the print request relating to the print job for which printing is currently being performed, the print request manager means resets the directed number of copies to xe2x80x9c1.xe2x80x9d If memory shortage occurs during the course of storage of a print request of another print job differing from the preceding print job, generation of the print request relating to the other print job may be suspended until printing of the preceding job is completed.
The expression xe2x80x9ca preceding print job for which printing is now performedxe2x80x9d signifies a print job for which printing is currently being performed or a print job for which printing will be performed. If the memory block becomes insufficient during the course of storage of print requests relating to the preceding print job, the print job cannot be subjected to collation printing. In such a case, the number of copies is reset to xe2x80x9c1xe2x80x9d to thereby switch the collation printing to normal printing. In contrast, if the memory block becomes insufficient during the course of storage of print requests relating to another print job, without direct relation to collation printing of the preceding print job, the memory shortage may be eliminated if the printing of the preceding print job is completed to thereby release the memory block. In this case, the print mode is not switched to normal printing, and issuance of print requests relating to another print job is suspended until the printing of the preceding print job is completed.
Preferably, if the directed number of copies is 2 or more, collation printing is deemed as being specified for the print job.
Collation printing is effected only when a plurality of copies are printed. Accordingly, in a case where the number of copies of a print job is 2 or more, collation printing is deemed to be specified for the print job, thereby enabling collation printing without drawing the user""s attention. More specifically, for collation printing to be enabled, the user is required to set only the number of copies to a value of 2 or more by way of the host computer. Collation printing can be embodied without modification of software such as a printer driver or a printer utility. For example, a print specification screen provided on the host computer is equipped with a button for use in designating collation printing, and collation printing is specified by means of an input entered by way of the button. Such a configuration also falls within the scope of the present invention.
According to a second aspect of the present invention, there is provided a printing method by which predetermined printing is effected by actuation of printing means on the basis of input print data, comprising the steps of:
monitoring whether or not interpretation means issues a print request on the basis of the input print data;
temporarily storing the print request when the print request is issued;
monitoring whether or not the printing means issues a print completion report with regard to the print request that are stored;
determining whether or not the print request for which the print completion report has been issued is designated to be subjected to collation printing;
determining whether or not the print request for which the print completion report has been issued pertains to the final copy of the designated number of copies in a case where the print request is designated to be subjected to collation printing;
retaining the print request designated to be subjected to collation printing without issuing a print completion report to the interpretation means until the print request for which the print completion report has been issued is determined to pertain to a portion of the final copy;
repeatedly inputting the print requests, which are retained and are designated to be subjected to collation printing, to the printing means according to the number of copies; and
issuing the print completion report to the interpretation means on the basis of the print completion report issued by the printing means after the print request, for which the print completion report has been issued, has been determined to pertain to a portion of the final copy.
As a result, an advantageous result identical to that described previously can be yielded.
According to a third aspect of the present invention, there is provided a printing method by which predetermined printing is effected by activation of printing means on the basis of input print data, the method comprising:
a print request receiving process, and
a print completion report management process, wherein the print request receiving process includes
a step of monitoring whether or not interpretation means issues a print request on the basis of the input print data; and
a step of temporarily storing the print request in a first queue when the print request is issued, and the print completion report management process includes
a step of monitoring whether or not the printing means issues a print completion report with regard to the print request stored in the first queue;
a step of determining whether or not collation printing is specified for the print request for which the print completion report has been issued when the print completion report is issued;
a step of determining whether or not the print request for which the print completion report has been issued, pertains to a portion of the final copy oft he designated number, of copies when collation printing is specified for the print job;
a step of storing into a second queue the print request which is stored in the first queue and for which printing has been performed until the print request for which the print completion report has been issued is determined to pertain to a portion of the final copy;
a step of determining whether or not printing of one copy to be subjected to collation printing is completed;
a step of repeatedly inputting to the input means he print requests to be subjected to collation printing by transferring the print requests retained in the second queue to the first queue according to the number of copies, when one copy of the print request to be subjected to collation printing is completed; and
a step of issuing the print completion report to the interpretation means on the basis of the print completion report issued by the printing means after the print request, for which the print completion report has been issued, has been determined to pertain to a portion of the final copy, thereby deleting from the first queue the print request for which printing has been performed.
As a result, an advantageous result identical to that described previously can be yielded. Further, the printing method comprises the print request receiving process and the print completion report management process, and hence storage of newly-issued print requests and completion of processing of the already-issued print requests can be effected independently of each other.
Preferably, the printing method may further comprise
a step of monitoring whether or not a memory block for storing the print request becomes insufficient; and
a step of resetting the designated number of copies to xe2x80x9c1xe2x80x9d when the memory block becomes insufficient.
As a result, an advantageous result identical with that designated previously can be yielded.
According to a fourth aspect of the present invention, there is provided a recording medium having recorded thereon a computer program for controlling a printer, wherein the computer program comprises
an interpretation function of issuing a print request by interpretation of received print data; and
a print request management function of temporarily storing the print request issued by means of the interpretation function, inputting the thus-stored print request to printing means such that the printing means prints performs printing, and issuing to the interpretation function a print completion report with regard to the print request on the basis of the print completion report issued by the printing means; and wherein
in a case where collation printing is specified for the print request, the print request management function repeatedly inputs to the printing means the print request to be subjected to collation printing until printing of the designated number of copies is completed.
As the xe2x80x9crecording medium,xe2x80x9d there may be employed; for example, a floppy, disk (FD), a compact disk (CD-ROM or: CD-R), a hard disk drive (HDD), memory, or like recording medium. The recording medium is not limited these exemplary mediums. For instance, a communications medium may also be utilized in the same way as a program remotely downloaded by way of a communication line. As in the case with the first aspect of the present invention, collation printing can be effected by loading the predetermined program recorded on the recording medium into the computer.
According to a fifth aspect of the present invention, there is provided a recording medium on which a computer program for managing a print request issued on the basis of print data is recorded, wherein the program comprises
a function for storing the thus-issued print request into a first queue;
a function for determining whether or not collation printing is specified for the print request stored in the first queue;
a function of monitoring whether or not printing means issues a print completion report;
a function for determining whether or not the print request for which the print completion report has been issued pertains to a portion of the final copy of the designated number of copies when collation printing is specified for the print request;
a function for transferring the print request for which printing has been performed to a second queue and retaining the print request in the second queue until the print request for which the print completion report has been issued is determined to pertain to a portion of the final copy;
a function for repeatedly inputting to the printing means the print request to be subjected to collation printing according to the designated number of copies by transferring the print request retained in the second queue to the first queue, when printing of one copy of the print request to be subjected to collation printing is completed; and
a function for deleting the print request for which printing has been performed from the first queue on the basis of the print completion report, after the print request, for which the print completion report has been issued, has been determined to pertain to a portion of the final copy.
The print request management means for managing print requests can be embodied through use of two queues, by loading the predetermined computer program into the computer of the printer. As a result, an advantageous result identical with that described previously can be yielded.